package com.project.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.SellBean;
import com.project.bean.ShopBean;
import com.project.bean.UserBean;
import com.project.service.ISellService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.util.Map;

/**
 * 销售应用控制器
 */
@RestController
@RequestMapping("sell")
public class SellController {
    @Autowired
    private ISellService sellService;

    /**
     * 出库
     * @param sell 销售对象
     */
    @RequestMapping("outRespository")
    public String outRespository(SellBean sell, HttpServletRequest request){
        //得到登陆用户信息
        UserBean user = (UserBean)request.getSession().getAttribute("loginUser");
        //得到销售车
        Map<String,ShopBean> sellMap = (Map<String,ShopBean>)request.getSession()
                .getAttribute("sellMap");
        //设置销售员
        sell.setSalesman(user.getRealName());
        //调用业务方法，完成出库
        sellService.outRespository(sell,sellMap);
        //清空销售车
        sellMap.clear();
        return "ok";
    }

    /**
     * 动态条件分页查询销售信息
     * @param pageNO 页码
     * @param startDate 销售起始日期
     * @param endDate 销售结束日期
     * @return 分页对象
     */
    @RequestMapping("findByItem")
    public IPage<SellBean> findByItem(Integer pageNO, LocalDate startDate, LocalDate endDate){
        return sellService.findByItem(pageNO,startDate,endDate);
    }

    /**
     * 按销售ID查询销售信息，同时查询销售明细信息。
     * 销售明细信息中，需要查询商品名
     * @param id 采购ID
     * @return 采购对象
     */
    @RequestMapping("findById")
    public SellBean findById(Integer id){
        System.out.println("id="+id);
        SellBean sell = sellService.findById(id);
        return sell;
    }
}
